Add support for PVH boot protocol; FreeBSD VM tests#646
Conversation
a5e37f8 to
0e77561
Compare
d29252f to
711b0b0
Compare
a3bf760 to
b801ff5
Compare
|
Ready for review. |
|
Gonna make adjustments based on the new contribution guidelines. Mainly need to fix "co-authored by" for AI assistants. |
| TestOutcome::Fail(format!( | ||
| "expected exactly {:?}, got {:?}", | ||
| "OK\n", output_str | ||
| )) |
There was a problem hiding this comment.
The file test_freebsd_gvproxy_tcp_guest_connect.rs was introduced as part of this PR. Please squash this formatting fix into the appropriate commit tests: add FreeBSD guest support in this case.
|
Thanks for working on this! I'll take a more detailed look later. Also note, that I changed the PR title, because this not only adds the tests but implements/revives the PVH boot support. |
|
Makes sense. PVH is the enabler for the full test suite to cover all architectures but I wasn't sure at first if I can make it work. |
d7d8b5a to
fefdb43
Compare
Implement PVH (Para-Virtualized Hardware) boot protocol support, enabling FreeBSD x86_64 kernels to boot via the Xen PVH ABI. Key changes: - arch/Cargo.toml: add linux-loader (elf feature) as x86_64 dep - layout.rs: add PVH_INFO_START, MODLIST_START, MEMMAP_START, RSDP_ADDR - mptable.rs: export MPTABLE_START as pub - gdt.rs: fix get_limit() to apply granularity (G) bit expansion - mod.rs: add configure_pvh(), add_memmap_entry(); refactor configure_system() to dispatch to configure_pvh() or configure_64bit_boot() based on pvh flag; add pvh param - regs.rs: add pvh param to setup_regs/setup_sregs/ configure_segments_and_sregs; set 32-bit protected mode GDT and CR0=PE|ET for PVH; set rbx=PVH_INFO_START per PVH ABI - vstate.rs: thread pvh through configure_x86_64() - builder.rs: detect PvhEntryPresent in ELF load result; propagate pvh through PayloadConfig, load_payload, create_vcpus_x86_64 - lib.rs: add pvh param to Vmm::configure_system() Co-authored-by: Dmitrii Sharshakov <d3dx12.xx@gmail.com> Assisted-by: Copilot:claude-opus-4.6 Signed-off-by: Jan Noha <nohajc@gmail.com>
fefdb43 to
ec6e26b
Compare
|
Rebased, fixed issues, updated gvproxy to 0.8.9, running all gvproxy tests in the CI workflow. |
- simple boot test, gvproxy connect and listen tests - fix timing issue in all network listen tests - replace the macOS-only `cfg` gate with a `gvproxy -version` check Signed-off-by: Jan Noha <nohajc@gmail.com>
- have to install lld and also clang on the self-hosted runner Signed-off-by: Jan Noha <nohajc@gmail.com>
Signed-off-by: Jan Noha <nohajc@gmail.com>
Signed-off-by: Jan Noha <nohajc@gmail.com>
…the definition Signed-off-by: Jan Noha <nohajc@gmail.com>
a7d09c1 to
2d608d0
Compare
Adds three new integration test cases:
Adds PVH boot protocol support (based on #284) to enable FreeBSD boot on x86_64.
Direct kernel boot works
Gvproxy with vfkit enabled on Linux via containers/gvisor-tap-vsock@c09fb7d